package main

func main() {
	// 1、通过fmt.Sprintf()函数将其他类型转换为字符串
	// var i int = 20
	// var f float64 = 12.345
	// var t bool = true
	// var b byte = 'a'

	// str1 := fmt.Sprintf("%d", i)
	// str2 := fmt.Sprintf("%f", f)
	// str3 := fmt.Sprintf("%t", t)
	// str4 := fmt.Sprintf("%c", b)

	// fmt.Printf("值: %v, 类型: %T\n", str1, str1)
	// fmt.Printf("值: %v, 类型: %T\n", str2, str2)
	// fmt.Printf("值: %v, 类型: %T\n", str3, str3)
	// fmt.Printf("值: %v, 类型: %T\n", str4, str4)

	// 2、 通过strconv函数将其他类型转换为字符串
	/*
		FormatInt
		参数1：int64类型整数
		参数2：传值int类型的进制
		返回值：字符串
	*/
	// var i int = 20
	// str1 := strconv.FormatInt(int64(i), 10)
	// fmt.Printf("值: %v, 类型: %T\n", str1, str1)

	/*
		参数1：要转换的值
		参数2：格式化类型，如'f'表示浮点数，'e'表示科学计数法，'b'表示二进制，'o'表示八进制，'x'表示十六进制
		参数3：精度，即小数点后保留的位数 -1不对小数点格式化
		参数4：格式化的类型，传入 32/64
	*/
	// var f float32 = 12.345
	// str2 := strconv.FormatFloat(float64(f), 'f', 2, 64)
	// fmt.Printf("值: %v, 类型: %T\n", str2, str2)

	// str3 := strconv.FormatBool(true)
	// fmt.Printf("值: %v, 类型: %T\n", str3, str3)

	// a := 'a'
	// str4 := strconv.FormatUint(uint64(a), 10)
	// fmt.Printf("值: %v, 类型: %T\n", str4, str4)

}
